const fs = require('fs');

// 读取进货单数据文件
const rawData = fs.readFileSync('./通过插件拦截响应数据（淘宝进货单）.md', 'utf8');

// 解析JSON数据
const jsonData = JSON.parse(rawData);
const pluginData = jsonData.data[0]; // 获取第一个数据项

// 模拟服务中的提取逻辑
function extractTaobaoPurchaseOrders(item) {
  const orders = [];
  const responseData = item.response.data.data;
  
  // 遍历所有订单容器
  for (const key in responseData) {
    if (key.startsWith('shopOrderContainer_')) {
      const orderId = key.split('_')[1];
      
      // 获取订单信息
      const shopInfo = responseData[`shopInfo_${orderId}`];
      const orderPayment = responseData[`orderPayment_${orderId}`];
      
      if (!shopInfo || !orderPayment) {
        continue;
      }
      
      // 解析订单基本信息
      const orderDate = new Date(shopInfo.fields.createTime);
      const totalAmount = parseFloat(orderPayment.fields.actualFee.value.replace('￥', '')) || 0;
      const shopName = shopInfo.fields.shopName || ''; // 提取店铺名称
      
      console.log(`订单号: ${orderId}`);
      console.log(`店铺名称: "${shopName}"`);
      console.log(`下单时间: ${orderDate}`);
      console.log(`实付款: ${totalAmount}`);
      console.log('---');
      
      // 创建订单对象
      const order = {
        orderNumber: orderId, // 订单号
        supplierId: 1, // 供应商ID（需要根据店铺信息匹配，这里暂时设为1）
        shopName: shopName, // 店铺名称
        purchaser: '系统导入', // 采购员
        orderDate: orderDate, // 下单日期
        expectedDeliveryDate: null, // 预计交货日期
        totalAmount: totalAmount, // 实付款
        remark: `淘宝进货单 - ${shopName}`, // 备注
        items: []
      };
      
      // 解析订单项
      for (const itemKey in responseData) {
        if (itemKey.startsWith(`orderItemInfo_${orderId}_`)) {
          const itemInfo = responseData[itemKey];
          const itemData = itemInfo.fields.item;
          
          // 解析商品信息
          const price = parseFloat(itemData.priceInfo.actualTotalFee.replace('￥', '')) || 0;
          const quantity = parseInt(itemData.quantity) || 0;
          const amount = price * quantity;
          
          // 合并规格信息
          let specification = '';
          if (itemData.skuInfo && Array.isArray(itemData.skuInfo)) {
            specification = itemData.skuInfo.map(sku => sku.skuValue).join(';');
          }
          
          order.items.push({
            productId: null, // 产品ID
            productName: itemData.title, // 品名
            specification: specification, // 规格
            quantity: quantity, // 数量
            unit: '件', // 单位
            unitPrice: price, // 价格
            amount: amount, // 金额
            remark: '' // 备注
          });
        }
      }
      
      // 如果有订单项，则添加到订单列表
      if (order.items.length > 0) {
        orders.push(order);
      }
    }
  }
  
  return orders;
}

// 测试提取
console.log('开始测试订单提取...');
const orders = extractTaobaoPurchaseOrders(pluginData);

console.log('\n提取到的订单数量:', orders.length);
if (orders.length > 0) {
  console.log('\n第一个订单详情:');
  console.log('订单号:', orders[0].orderNumber);
  console.log('店铺名称:', orders[0].shopName);
  console.log('备注:', orders[0].remark);
  console.log('订单项数量:', orders[0].items.length);
}